/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package negocio.cargador;

import datos.*;
import interfaz.FRLabPaez;
import java.io.Serializable;
import java.util.ArrayList;
import javax.swing.JComboBox;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import negocio.administrador.LabPaez;
import negocio.contenedor.ListaAnalitoParametro;
import negocio.contenedor.ListaPacientes;
import negocio.contenedor.ListaTipoAnalito;
import negocio.contenedor.ListaTipoExamen;

/**
 *
 * @author Kriathos
 */
public class CargadorLabPaez implements Serializable {

//-----------------------------------------------------------------------------------------------------------------------------
//METODOS DE CARGA
//-----------------------------------------------------------------------------------------------------------------------------
    public void cargueTablaPacientes(JTable tabla, ListaPacientes lista) {
        tabla.removeAll();
        String[] rotulos = {"Nombre", "P. Apellido", "S. Apellido", "Identificacion", "Edad", "Telefono", "Correo"};
        DefaultTableModel modelo = new DefaultTableModel(rotulos, lista.getCantidad());
        for (int i = 0; i < lista.getCantidad(); i++) {
            Paciente c = lista.getElemento(i);
            modelo.setValueAt(c.getNombre(), i, 0);
            modelo.setValueAt(c.getApellido1(), i, 1);
            modelo.setValueAt(c.getApellido2(), i, 2);
            modelo.setValueAt(c.getCedula(), i, 3);
            modelo.setValueAt(c.getEdad(), i, 4);
            modelo.setValueAt(c.getTelefono(), i, 5);
            modelo.setValueAt(c.getCorreo(), i, 6);
        }
        tabla.setModel(modelo);
    }//Fin de cargueTablaPacientes

    public void cargueTablaTipoAnalito(JTable tabla, ListaTipoAnalito lista) {
        tabla.removeAll();
        String[] rotulos = {"Nombre", "Examen"};
        DefaultTableModel modelo = new DefaultTableModel(rotulos, lista.getCantidad());
        for (int i = 0; i < lista.getCantidad(); i++) {
            TipoAnalito c = lista.getElemento(i);
            modelo.setValueAt(c.getNombre(), i, 0);
            modelo.setValueAt(c.getNombreTipoExamen(), i, 1);
        }
        tabla.setModel(modelo);
    }//Fin de cargueTablaTipoAnalito

    public void cargueTablaTipoExamen(JTable tabla, ListaTipoExamen lista) {
        tabla.removeAll();
        String[] rotulos = {"Nombre"};
        DefaultTableModel modelo = new DefaultTableModel(rotulos, lista.getCantidad());
        for (int i = 0; i < lista.getCantidad(); i++) {
            TipoExamen c = lista.getElemento(i);
            modelo.setValueAt(c.getDescripcion(), i, 0);
        }
        tabla.setModel(modelo);
    }//Fin de cargueTablaTipoExamen

    public void cargueTablaAnalitosConsExamen(FRLabPaez ventana, ArrayList<Analito> lista) {
        try {
            String rotulos[] = {"Analito", "Valor", "Porcentaje", "Valor Minimo", "Valor Maximo", "% Minimo", "% Maximo"};
            DefaultTableModel modelo = new DefaultTableModel(rotulos, lista.size());
            for (int f = 0; f < lista.size(); f++) {
                modelo.setValueAt(lista.get(f).getNombreAnalito(), f, 0);
                modelo.setValueAt(lista.get(f).getValor(), f, 1);
                modelo.setValueAt(lista.get(f).getPorcentaje(), f, 2);
                modelo.setValueAt(lista.get(f).getValorMinParam(), f, 3);
                modelo.setValueAt(lista.get(f).getValorMaxParam(), f, 4);
                modelo.setValueAt(lista.get(f).getPorcentajeMinParam(), f, 5);
                modelo.setValueAt(lista.get(f).getPorcentajeMaxParam(), f, 6);
            }
            ventana.getTblAnalitos1().setModel(modelo);
            ventana.getTxtAObservaciones1().setText(LabPaez.getObservaciones());
            ventana.getTxtARecomendaciones1().setText(LabPaez.getRecomendaciones());
            ventana.getFecha1().setText(LabPaez.getFecha());
        } catch (Exception e) {
            System.out.print(e);
        }
    }//Fin de cargueTablaAnalitosConsExamen

    public void cargueTablaAnalitoParametro(JTable tabla, ListaAnalitoParametro lista) {
        tabla.removeAll();
        String[] rotulos = {"Examen", "Analito", "Unidad", "Valor Min", "Valor Max", "% Min", "% Max"};
        int x = lista.getCantidadTA()+lista.getCantidadAP();
        DefaultTableModel modelo = new DefaultTableModel(rotulos, x/2);
        for (int i = 0; i < x/2; i++) {
            TipoAnalito ta = lista.getElementoTA(i);
            modelo.setValueAt(ta.getNombreTipoExamen(), i, 0);
            modelo.setValueAt(ta.getNombre(), i, 1);
            modelo.setValueAt(ta.getUnidad(), i, 2);
            AnalitoParametro ap = lista.getElementoAP(i);
            modelo.setValueAt(ap.getvMax(), i, 3);
            modelo.setValueAt(ap.getvMin(), i, 4);
            modelo.setValueAt(ap.getpMin(), i, 5);
            modelo.setValueAt(ap.getpMax(), i, 6);
        }
        tabla.setModel(modelo);
    }//Fin cargueTablaAnalitoParametro

    public void cargueCombo(JComboBox combo, ArrayList<ObjetoCombo> lista) {
        combo.removeAllItems();
        if (!lista.isEmpty()) {
            combo.addItem(new ObjetoCombo(0, "Desconocido"));
            for (int i = 0; i < lista.size(); i++) {
                combo.addItem(lista.get(i));
            }
        }
    }//Fin de cargueCombo
    
    public void cargueCombo2(JComboBox combo, ArrayList<TipoAnalito> lista) {
        combo.removeAllItems();
        if (!lista.isEmpty()) {
            combo.addItem(new ObjetoCombo(0, "Desconocido"));
            for (int i = 0; i < lista.size(); i++) {
                combo.addItem(lista.get(i).getNombre());
            }
        }
    }//Fin de cargueCombo

    public void cargueListaTempAnalitos(JTable tabla, ArrayList<Analito> lista) {
        try {
            String rotulos[] = {"Analito", "Valor", "Porcentaje"};
            DefaultTableModel modelo = new DefaultTableModel(rotulos, lista.size());
            for (int f = 0; f < lista.size(); f++) {
                modelo.setValueAt(lista.get(f).getNombreAnalito(), f, 0);
                modelo.setValueAt(lista.get(f).getValor(), f, 1);
                modelo.setValueAt(lista.get(f).getPorcentaje(), f, 2);
            }
            tabla.setModel(modelo);
        } catch (Exception e) {
            System.out.print(e);
        }
    }//Fin de cargueListaTempAnalitos
}//Fin de class